#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <iostream>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>

using namespace std;

//通过这个实验可以得知,一个管道虽然只能单向通信
//但是可以不局限于两个进程使用它
//可以一个进程和一个进程单向通信的同时,另一个进程和另一个进程也能同时进行通信
//只是局限于通信的状态,而不是通信的数据

int main()
{

    //创建一个管道
    mkfifo("./practice", 0644);

    //将管道以写的方式打开
    int output = open("./practice", O_WRONLY);
    if (output == -1)
    {
        perror("open fail");
        return 1;
    }

    const char* msg = "qingdiaoshen yyds\n";
    int count = 10;
    while(count--)
    {
        write(output, msg, strlen(msg));
    }
    close(output);

    return 0;
}
